Tesseract

Tesseract est un moteur de reconnaissance optique de caractères (ROC, OCR) qui a été conçu par les ingénieurs de HP de 1984 à 1995, avant d'être abandonné. Après 10 ans de purgatoire, son code est ouvert en 2005, et le développement est repris sous la houlette de Google. Les premiers résultats sont prometteurs. Enfin un bon logiciel libre d'OCR sous linux ? L'avenir nous le dira… Il permet déjà d'obtenir une reconnaissance optique de qualité sur un certain nombre de documents (sans mise en page complexe).

Tesseract a pour vocation d'être utilisé :

Tesseract est distribué sous licence Apache, c'est-à-dire en gros qu'il est Open Source mais pas copyleft.

Installation

Installez les paquetstesseract-ocr et tesseract-ocr-fra (dépôts Universe).

Il existe d'autres fichiers de langues, comme par exemple : tesseract-ocr-deu (allemand), tesseract-ocr-eng (anglais), tesseract-ocr-spa (espagnol), tesseract-ocr-nld (hollandais), tesseract-ocr-ita (italien), tesseract-ocr-por (portugais-brésilien), tesseract-ocr-deu-f (vieil-allemand).

Pensez toutefois à installer le paquet ImageMagick si vous voulez utiliser xsane2tess (utilitaire convert nécessaire).

Utilisation

En ligne de commande

Entrez la commande suivante :

tesseract ~/nomdelimage.tif nom_du_fichier_de_sortie_sans_l_extension -l fra

Les options de langues

Si vous avez installé les fichiers pour la reconnaissance de texte en d'autres langues, vous ajoutez, au lieu de

-l fra
-l eng (pour l'anglais)
-l deu (pour l'allemand)
-l spa (pour l'espagnol)
-l ita (pour l'italien)
-l nld (pour le néerlandais)
-l por (pour le portugais)
-l vie (pour le vietnamien)
-l deu-f (pour le vieil-allemand)

En mode graphique avec « gscan2pdf »

Les explications sont données sur la page gscan2pdf.

En mode graphique avec XSane

Il est possible d'utiliser tesseract avec XSane grâce à l'adaptateur xsane2tess.

Pour réaliser de la ROC sur un document déjà numérisé, on utilise gscan2pdf. Pour réaliser de la ROC sur un document à numériser, on utilise plutôt XSane, dont la fonction de prévisualisation permet de sélectionner des zones de texte.

Pour une reconnaissance optique directe dans LibreOffice Writer de fichiers PNG ou JPG

pour lancer l'OCR sur un document PNG (ou JPG) présent sur le bureau

pour les documents PNG

Code:

#!/bin/bash
cd ~/Bureau
convert *.png sortie.tif ;
# il est plus prudent de corriger le bpp maximum pour le fichier tiff de sortie (max 8 pour tesseract -> depth = 4)
# soit convert -depth 4 *.png sortie.tif ;
tesseract sortie.tif sortie -l fra ;
rm sortie.tif
lowriter sortie.txt
pour les documents JPG

Pour faire de même avec les fichiers images JPG (comportant du texte à reconnaître bien sûr), vous pouvez remplacer "png" par "jpg" dans le script, pour créer un autre script nommé "Tesseract-jpg2lofficewriter".

Créer un lanceur pour votre script

Pour créer un raccourci de votre script, reportez-vous à la page de création de lanceurs ou à celle-ci pour Unity, puis complétez comme suit:

Utilisation

Même méthode pour les fichiers au format JPG, en utilisant l'outil "Tesseract-jpg2lofficewriter".

N.B. : au passage, un document sortie.tif et un document sortie.txt sont placés sur le bureau; ce sont des documents transitoires créés par le script. On peut les effacer en ayant au préalable enregistré le document texte dans un autre dossier.

Utilisation avancée : Amélioration de la reconnaissance

Si vous souhaitez améliorer la ROC vous trouverez des explications sur le site "tesseract-ocr" (google) en anglais.

Liens


Contributeurs : Pierre S., Hector et Sorbus.